import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_excel('学生各学期成绩表.xlsx')
plt.figure(figsize=(12,10.5))
plt.rcParams['font.sans-serif']='SimHei'
plt.title('学生各学期成绩分析')
plt.xlabel('学期')
plt.ylabel('成绩')
x = df['序号']
y = df['语文']

plt.subplot(2,2,1)
plt.plot(x,df['语文'],':^')
for a,b in zip(df['序号'],df['语文']):
    plt.text(a,b,'%.1f'%b,ha='center')
plt.grid(axis='both')
plt.legend(('语文',))
plt.xlabel('学期')
plt.ylabel('成绩')
plt.title('语文总学期成绩')

plt.subplot(2,2,2)
plt.plot(x,df['数学'],)
for a,b in zip(df['序号'],df['数学']):
    plt.text(a,b,'%.1f'%b,ha='center')
plt.grid(axis='y')
plt.legend(('数学',))
plt.xlabel('学期')
plt.ylabel('成绩')
plt.title('数学总学期成绩')

plt.subplot(2,2,3)
plt.plot(x,df['英语'],'g-.o')
for a,b in zip(df['序号'],df['英语']):
    plt.text(a,b,'%.1f'%b,ha='center')
plt.grid(axis='x')
plt.legend(('英语',))
plt.xlabel('学期')
plt.ylabel('成绩')
plt.title('英语总学期成绩')

plt.subplot(2,2,4)
plt.plot(x,df['综合'],'r:d')
for a,b in zip(df['序号'],df['综合']):
    plt.text(a,b,'%.1f'%b,ha='center')
plt.legend(('综合',))
plt.xlabel('学期')
plt.ylabel('成绩')
plt.title('综合总学期成绩')

plt.suptitle('总学期四科成绩')
plt.show()